Skip to content

git: text PATCH between index and worktree - #25

Open
mgasner wants to merge 1 commit into
fix/git-status-snapshotfrom
fix/git-diff-index-worktree
Open

mgasner wants to merge 1 commit into
fix/git-status-snapshotfrom
fix/git-diff-index-worktree

Conversation

@mgasner

@mgasner mgasner commented Sep 28, 2026

Copy link
Copy Markdown

Stacked on #24; the diff shows only this change.

yas git diff -p between the index and the working tree failed with Unsupported. A text PATCH needs a content object, and neither INDEX nor WORKTREE has one.

A patch between two mutable endpoints (INDEX, WORKTREE, EMPTY) now carries the null object ID, and docs/design/git.md documents this. yas git diff -p with no revisions prints a unified diff of the working tree against the index.

Testing

  • Added an INDEX→WORKTREE PATCH_TEXT case to typed_queries_cover_repository_reads_without_exposing_legacy_packets.
  • Checked by hand.

View in Indent
Tag @indent to continue the conversation here.

A PATCH_TEXT answer needs a content object and neither INDEX nor WORKTREE
names one, so `yas git diff -p` failed with Unsupported. Use the null
object ID for patches between two mutable endpoints.
@github-actions

Copy link
Copy Markdown

Coverage

Crate Lines Functions Regions
alacritty-driver 85.6% (1081/1263) 89.4% (84/94) 89.3% (1746/1955)
browser 25.5% (309/1212) 30.4% (34/112) 27.7% (605/2183)
cli 35.1% (8394/23930) 36.0% (777/2159) 35.7% (12143/33975)
composite-transport 96.3% (526/546) 98.4% (60/61) 96.2% (884/919)
compositor 54.9% (11395/20760) 66.0% (832/1260) 54.7% (15781/28840)
desktop 78.4% (4460/5691) 71.6% (393/549) 75.1% (6211/8267)
edge 62.4% (791/1268) 50.3% (81/161) 56.8% (1022/1799)
fonts 77.3% (1257/1626) 82.7% (129/156) 78.9% (2424/3071)
fssync 85.3% (1597/1872) 84.4% (179/212) 86.4% (2813/3255)
git 73.0% (4626/6334) 70.5% (347/492) 70.2% (6588/9386)
guest 67.3% (6829/10148) 67.0% (488/728) 66.6% (8935/13416)
lsp 78.7% (3573/4542) 80.8% (336/416) 76.7% (5408/7054)
proxy 57.8% (1120/1937) 50.5% (104/206) 59.0% (1749/2965)
runtime-dir 93.6% (117/125) 100.0% (14/14) 94.8% (218/230)
sd-notify 73.9% (68/92) 100.0% (6/6) 83.2% (109/131)
server 69.1% (80250/116214) 70.8% (5749/8116) 66.6% (106133/159309)
ssh 42.6% (270/634) 51.5% (34/66) 42.9% (428/998)
terminal-model 49.9% (314/629) 62.3% (38/61) 50.3% (505/1004)
uplink 94.0% (581/618) 92.6% (50/54) 93.0% (1061/1141)
webrtc-forwarder 33.8% (1337/3961) 42.0% (136/324) 36.2% (2318/6409)
webserver 77.0% (1421/1846) 75.2% (179/238) 80.0% (2453/3067)
website 35.1% (355/1012) 34.4% (53/154) 35.8% (607/1694)
xtask 0.0% (0/5131) 0.0% (0/131) 0.0% (0/9124)
yas 87.8% (26483/30170) 93.2% (2036/2184) 82.7% (41698/50414)
Total 65.1% (157154/241561) 67.6% (12139/17954) 63.3% (221839/350606)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant